// 向量运算 点线关系
// 测试链接 ：http://poj.org/problem?id=1106
// 相关帖子 ：https://www.cnblogs.com/dx123/p/17153468.html
// 相关帖子 ：https://oi-wiki.org/math/linear-algebra/product/
// 提交以下的code，可以直接通过

#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>

using namespace std;

const int MAXN = 155;
struct Point
{
    int x, y;
}P[MAXN], o, a;

// 叉积
double cross(Point& a, Point& b, Point& c)
{
    return (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x);
}

// 距离
double dist(Point& a, Point& b)
{
    return sqrt(1.0 * (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}

int main()
{
    int n, m, ans;
    double r;
    while(~scanf("%d%d%lf", &o.x, &o.y, &r) && r >= 0)
    {
        n = ans = 0;
        scanf("%d", &m);
        while(m--)
        {
            scanf("%d%d", &a.x, &a.y);
            // a 这个点在圆内
            if(dist(a, o) <= r) p[n++] = a;
        }
        for(int i = 0; i < n; ++i)
        {
            int cnt = 0;
            for(int j = 0; j < n; ++j)
            {
                // p[j] 在 o 和 p[i] 所形成的直径的左侧
                if(cross(o, p[i], p[j]) >= 0) ++cnt;
            }
            ans = max(ans, cnt);
        }
        printf("%d\n", ans);
    }

    return 0;
}